在上一篇筆記中已經提到 Fork 的功能以及使用辦法了,那本篇就來實際發個 Pull request 看看吧!
這篇文章要感謝 tim870220 用戶陪我一起完成 fork 及 pull request 的功能,讓我可以寫這篇教學文章!
那麼,廢話不多說,我們就開始吧!
首先我們先找到要 fork 到自己的 GitHub repository 的專案,在 Search 的功能欄輸入專案的名稱就可以找到了(這邊用來做範例的是 qqmanlin/Project)
接下來,按下 Fork 按鈕就會自動將這份專案複製一份到自己的 GitHub repository 了!
接下來,針對專案中的 porject.py
進行修改,我們可以看到更改完後,這個檔案的 contributors 有兩位(原作者 + 本人)
但原作者的檔案卻不會因此受到影響,這是因為 fork 是將整份專案複製下來,並不是去更改原本的檔案,那如果今天希望將這個修改的功能合併到原作者的檔案上該如何進行呢?
沒錯!就是上一篇文章中提到的「發起 pull request」要求。
先移動到 Pull requests,然後點選綠色按鈕 New pull request
接下來,就會看到以下畫面,GitHub 會顯示你做了幾個 commit、更改什麼部分,確認完想提交給原作者的資訊後,按下綠色按鈕 Create pull request
這個部分有點像寫 mail,先定義一個主旨,再寫一些內文(可以是修改的部分、為何要這樣修改之類的),填寫完成後,再按下綠色按鈕 Create pull request 就完成 PR 這個功能了!
接下來,我們回到原作者端來看看「被發 PR 後會發生什麼事」
點選 Pull requests 後可以看到一個 Update project.py
的檔案
點進去後可以看到剛剛發 PR 時的內文,而下方有一個綠色按鈕 Merge pull request
點擊該按鈕後會看到以下畫面,按下 Confirm merge 就完成合併拉!
當我們再次打開原作者的 project.py
後,可以看到 contributors 也變成兩位了!